import asyncio
import time

from tornado import web
import tornado


class MainHandler(web.RequestHandler):
    # 当客户端发起不同的http方法的时候， 只需要重载handler中的对应的方法即可
    # async 可写可不写 写了是为了方便后面引用await
    async def get(self, *args, **kwargs):
        await asyncio.sleep(3)
        self.write("hello world")


class MainHandler2(web.RequestHandler):
    # 当客户端发起不同的http方法的时候， 只需要重载handler中的对应的方法即可
    async def get(self, *args, **kwargs):
        i = 1 / 0
        self.write("hello world2")


if __name__ == "__main__":
    # debug = True 启动调试模式 支持热重启 可以修改代码 同时如果有错误会直接打印在浏览器页面
    # 启动最好使用命令式启动 按ctrl + c可以关闭进程 使用pycharm调试启动无法关机进程 只能kill掉
    app = web.Application([
        ("/", MainHandler),
        ("/2/", MainHandler2)
    ], debug=True)
    app.listen(8888)
    tornado.ioloop.IOLoop.current().start()
